load("@io_bazel_rules_go//go:def.bzl", "go_test")

test_suite(
    name = "go_default_test",
    tags = ["spectest"],
    tests = [
        ":go_mainnet_test",
        # Minimal tests must be run with --define ssz=minimal
        #":go_minimal_test",
    ],
)

go_test(
    name = "go_mainnet_test",
    size = "small",
    srcs = glob(
        ["*_test.go"],
        exclude = ["*_minimal_test.go"],
    ),
    data = [
        "@eth2_spec_tests_mainnet//:test_data",
    ],
    shard_count = 4,
    tags = [
        "spectest",
    ],
    deps = [
        "//beacon-chain/core/epoch:go_default_library",
        "//beacon-chain/core/epoch/precompute:go_default_library",
        "//beacon-chain/core/helpers:go_default_library",
        "//beacon-chain/state:go_default_library",
        "//proto/beacon/p2p/v1:go_default_library",
        "//shared/params:go_default_library",
        "//shared/params/spectest:go_default_library",
        "//shared/testutil:go_default_library",
        "//shared/testutil/require:go_default_library",
        "@com_github_gogo_protobuf//proto:go_default_library",
        "@com_github_prysmaticlabs_go_ssz//:go_default_library",
        "@in_gopkg_d4l3k_messagediff_v1//:go_default_library",
        "@io_bazel_rules_go//go/tools/bazel:go_default_library",
    ],
)

# Requires --define ssz=minimal
go_test(
    name = "go_minimal_test",
    size = "small",
    srcs = glob(
        ["*_test.go"],
        exclude = ["*_mainnet_test.go"],
    ),
    data = [
        "@eth2_spec_tests_minimal//:test_data",
    ],
    tags = [
        "manual",
        "minimal",
        "spectest",
    ],
    deps = [
        "//beacon-chain/core/epoch:go_default_library",
        "//beacon-chain/core/epoch/precompute:go_default_library",
        "//beacon-chain/core/helpers:go_default_library",
        "//beacon-chain/state:go_default_library",
        "//proto/beacon/p2p/v1:go_default_library",
        "//shared/params:go_default_library",
        "//shared/params/spectest:go_default_library",
        "//shared/testutil:go_default_library",
        "//shared/testutil/require:go_default_library",
        "@com_github_gogo_protobuf//proto:go_default_library",
        "@in_gopkg_d4l3k_messagediff_v1//:go_default_library",
        "@io_bazel_rules_go//go/tools/bazel:go_default_library",
    ],
)
